home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.image.ImageObserver;
-
- public class JMxText extends JMxGraphic {
- protected Point m_RelMousePoint = new Point(-1, -1);
- protected boolean m_HSChangedWithin;
- protected int m_SrcWidth = -1;
- protected int m_SrcHeight = -1;
-
- public boolean AdjustGraphicRect(Rectangle var1) {
- if (var1 != null) {
- var1.height = super.m_PlaybackRect.height;
- var1.width = super.m_PlaybackRect.width;
- if (super.m_TransInType != 300 && super.m_TransInType != 301) {
- if (super.m_TransInType == 302 || super.m_TransInType == 303) {
- var1.width = -1;
- }
- } else {
- var1.height = -1;
- }
- }
-
- return true;
- }
-
- public boolean HasMouseEffect(JMxLong var1, Point var2) {
- this.m_HSChangedWithin = false;
- int var3 = -1;
- int var4 = -1;
- this.m_RelMousePoint.x = var2.x - super.m_PlaybackRect.x;
- this.m_RelMousePoint.y = var2.y - super.m_PlaybackRect.y;
- if (super.m_PlaybackRect.inside(var2.x, var2.y)) {
- if (super.m_HotSpotList == null) {
- return true;
- } else {
- if (super.m_MouseEffectOn) {
- if (this.IsHotSpotUnderPoint(super.m_CurHotSpot, this.m_RelMousePoint, true)) {
- var3 = -1;
- var4 = (boolean)-1;
- var1.m_Value = 1L;
- return true;
- }
-
- var3 = super.m_CurHotSpot;
- super.m_CurHotSpot = -1;
- super.m_MouseEffectOn = false;
- } else {
- var3 = -1;
- }
-
- super.m_CurHotSpot = this.FindHotSpotUnderPoint(this.m_RelMousePoint);
- if (super.m_CurHotSpot != -1) {
- var4 = super.m_CurHotSpot;
- super.m_MouseEffectOn = true;
- var1.m_Value = 1L;
- } else {
- var4 = -1;
- super.m_MouseEffectOn = false;
- }
-
- if (var4 != -1 && var3 != -1) {
- this.m_HSChangedWithin = true;
- }
-
- return true;
- }
- } else {
- if (super.m_MouseEffectOn) {
- var3 = super.m_CurHotSpot;
- var4 = -1;
- }
-
- super.m_MouseEffectOn = false;
- super.m_CurHotSpot = -1;
- return false;
- }
- }
-
- public boolean HideMouseEffect() {
- super.m_MouseEffectOn = false;
- super.m_CurHotSpot = -1;
- this.m_RelMousePoint.x = -1;
- this.m_RelMousePoint.y = -1;
- return true;
- }
-
- public boolean HasHotSpot() {
- return super.m_HotSpotList != null && super.m_CurHotSpot != -1;
- }
-
- public void Refresh(Graphics var1) {
- if (this.m_SrcWidth == -1) {
- this.m_SrcWidth = ((Image)super.m_MediaItem.m_MediaObject).getWidth((ImageObserver)null);
- }
-
- if (this.m_SrcHeight == -1) {
- this.m_SrcHeight = ((Image)super.m_MediaItem.m_MediaObject).getHeight((ImageObserver)null);
- }
-
- super.Refresh(var1);
- if (!((JMxGraphic)this).IsScrollable() && this.HasHotSpot() && super.m_MouseEffectOn) {
- Dimension var2 = super.m_Player.size();
- Graphics var3 = var1.create(0, 0, var2.width, var2.height);
- var3.clipRect(super.m_PlaybackRect.x, super.m_PlaybackRect.y, super.m_PlaybackRect.width, super.m_PlaybackRect.height);
- this.Highlight(super.m_CurHotSpot, var3, true, (Image)super.m_MediaItem.m_MediaObject);
- var3.dispose();
- Object var4 = null;
- }
-
- }
-
- public boolean IsHotSpotUnderPoint(int var1, Point var2, boolean var3) {
- Point var4 = var2;
- if (((JMxGraphic)this).IsScrollable() && var3) {
- var4 = this.ConvertMousePoint(var2);
- }
-
- if (var1 >= 0 && var1 < super.m_HotSpotList.length) {
- for(int var5 = 0; var5 < super.m_HotSpotList[var1].m_CondRect.length; ++var5) {
- if (super.m_HotSpotList[var1].m_CondRect[var5].inside(var4.x, var4.y)) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- public Point ConvertMousePoint(Point var1) {
- int var2 = var1.x;
- int var3 = var1.y;
- if (super.m_TransInType != 300 && super.m_TransInType != 301) {
- int var5 = super.m_TransInType == 302 ? super.m_LastScrollOffset : this.m_SrcWidth - super.m_LastScrollOffset;
- var2 += var5;
- if (var2 >= this.m_SrcWidth) {
- var2 -= this.m_SrcWidth;
- }
- } else {
- int var4 = super.m_TransInType == 300 ? super.m_LastScrollOffset : this.m_SrcHeight - super.m_LastScrollOffset;
- var3 += var4;
- if (var3 >= this.m_SrcHeight) {
- var3 -= this.m_SrcHeight;
- }
- }
-
- return new Point(var2, var3);
- }
-
- public void Stop() {
- super.m_CurHotSpot = -1;
- super.m_MouseEffectOn = false;
- this.m_RelMousePoint.x = -1;
- this.m_RelMousePoint.y = -1;
- super.Stop();
- }
-
- public void Stop(Image var1, JObList var2, Graphics var3, Graphics var4) {
- this.Stop();
- super.Stop(var1, var2, var3, var4);
- }
-
- protected void PerformScroll(Graphics var1, Image var2, int var3, Rectangle var4, Rectangle var5) {
- boolean var6 = true;
- Object var7 = null;
- var1.clipRect(var5.x, var5.y, var5.width, var5.height);
- if (!this.HasHotSpot() || !super.m_MouseEffectOn || super.m_CurHotSpot == -1) {
- var6 = false;
- }
-
- int var8 = 0;
- int var9 = 0;
- int var10 = 0;
- int var11 = 0;
- if (super.m_TransInType != 300 && super.m_TransInType != 301) {
- var8 = super.m_TransInType == 302 ? var3 : this.m_SrcWidth - var3;
- var9 = super.m_TransInType == 302 ? this.m_SrcWidth - var3 : var3;
- var10 = var4.x - var8;
- var11 = var4.x + var9;
- var1.drawImage(var2, var10, var4.y, super.m_Player);
- if (var6) {
- Graphics var14 = var1.create(var10, var4.y, this.m_SrcWidth, var4.height);
- this.Highlight(super.m_CurHotSpot, var14, false, var2);
- var14.dispose();
- }
-
- if (var11 < var4.x + var4.width) {
- var1.drawImage(var2, var11, var4.y, super.m_Player);
- if (var6) {
- Graphics var15 = var1.create(var11, var4.y, this.m_SrcWidth, var4.height);
- this.Highlight(super.m_CurHotSpot, var15, false, var2);
- var15.dispose();
- }
- }
- } else {
- var8 = super.m_TransInType == 300 ? var3 : this.m_SrcHeight - var3;
- var9 = super.m_TransInType == 300 ? this.m_SrcHeight - var3 : var3;
- var10 = var4.y - var8;
- var11 = var4.y + var9;
- var1.drawImage(var2, var4.x, var10, super.m_Player);
- if (var6) {
- Graphics var12 = var1.create(var4.x, var10, var4.width, this.m_SrcHeight);
- this.Highlight(super.m_CurHotSpot, var12, false, var2);
- var12.dispose();
- }
-
- if (var11 < var4.y + var4.height) {
- var1.drawImage(var2, var4.x, var11, super.m_Player);
- if (var6) {
- Graphics var13 = var1.create(var4.x, var11, var4.width, this.m_SrcHeight);
- this.Highlight(super.m_CurHotSpot, var13, false, var2);
- var13.dispose();
- }
- }
- }
-
- var7 = null;
- }
-
- public boolean InitData() {
- super.InitData();
- super.m_Transparent = true;
- return true;
- }
-
- public void Highlight(int var1, Graphics var2, boolean var3, Image var4) {
- for(int var5 = 0; var5 < super.m_HotSpotList[var1].m_CondRect.length; ++var5) {
- Rectangle var6 = super.m_HotSpotList[var1].m_CondRect[var5];
- int var7 = 0;
- int var8 = 0;
- if (var3) {
- var7 = super.m_PlaybackRect.x;
- var8 = super.m_PlaybackRect.y;
- }
-
- int var9 = var6.x + var7;
- int var10 = var6.y + var8;
- Graphics var11 = var2.create(var9, var10, var6.width, var6.height);
- var11.setColor(super.m_HighLightColor);
- var11.translate(-var9, -var10);
- var11.setXORMode(super.m_HighLightColor);
- var11.drawImage(var4, var7, var8, (ImageObserver)null);
- var11.setPaintMode();
- Object var12 = null;
- var11.dispose();
- Object var13 = null;
- }
-
- }
-
- public boolean IsHotSpotChangedWithin() {
- return this.m_HSChangedWithin;
- }
-
- public boolean IsHighLightable() {
- return true;
- }
-
- public boolean ShowMouseEffect(Graphics var1) {
- super.m_MouseEffectOn = true;
- this.m_HSChangedWithin = false;
- this.Refresh(var1);
- return true;
- }
-
- public int FindHotSpotUnderPoint(Point var1) {
- if (super.m_HotSpotList == null) {
- return -1;
- } else {
- Point var2 = var1;
- if (((JMxGraphic)this).IsScrollable()) {
- var2 = this.ConvertMousePoint(var1);
- }
-
- boolean var3 = false;
-
- for(int var4 = 0; var4 < super.m_HotSpotList.length; ++var4) {
- if (this.IsHotSpotUnderPoint(var4, var2, false)) {
- return var4;
- }
- }
-
- return -1;
- }
- }
-
- public boolean Play(Graphics var1, Graphics var2) {
- if (this.m_SrcWidth == -1) {
- this.m_SrcWidth = ((Image)super.m_MediaItem.m_MediaObject).getWidth((ImageObserver)null);
- }
-
- if (this.m_SrcHeight == -1) {
- this.m_SrcHeight = ((Image)super.m_MediaItem.m_MediaObject).getHeight((ImageObserver)null);
- }
-
- if (super.m_HotSpotList != null && this.m_RelMousePoint.x != -1 && this.m_RelMousePoint.y != -1 && ((JMxGraphic)this).IsScrollable()) {
- int var3 = super.m_LastScrollOffset;
- super.m_LastScrollOffset = super.m_ScrollOffset;
- JMxLong var4 = new JMxLong(0L);
- Point var5 = new Point(this.m_RelMousePoint.x + super.m_PlaybackRect.x, this.m_RelMousePoint.y + super.m_PlaybackRect.y);
- this.HasMouseEffect(var4, var5);
- super.m_LastScrollOffset = var3;
- if (var4.m_Value == 1L) {
- super.m_Player.ChangeCursorType(12);
- }
- }
-
- super.Play(var1, var2);
- return true;
- }
-
- public void GetNextScrollOffset() {
- if (super.m_TransInType != 300 && super.m_TransInType != 301) {
- super.m_ScrollOffset += 10;
- if (super.m_ScrollOffset >= this.m_SrcWidth) {
- super.m_ScrollOffset -= this.m_SrcWidth;
- }
- } else {
- super.m_ScrollOffset += 10;
- if (super.m_ScrollOffset >= this.m_SrcHeight) {
- super.m_ScrollOffset -= this.m_SrcHeight;
- return;
- }
- }
-
- }
-
- public JMxText(JMxPlayer var1) {
- super(var1);
- super.m_MediaType = 10;
- }
- }
-